﻿Imports System.Data.SqlClient
Imports System.Data
Imports _1065144_1065164.DataProvider

Public Class frmDanhSachNha

    Private Sub frmDanhSachNha_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim listDanhSachNha As New DataTable()

        listDanhSachNha = ThongTinNhaBUS.GetAll()
        DataGridViewX1.DataSource = listDanhSachNha

        Dim danhsachloainha As New List(Of LoaiNhaDTO)
        danhsachloainha = LoaiNhaBUS.GetAll()
        cbxLoaiNha.DataSource = danhsachloainha
        cbxLoaiNha.ValueMember = "iMaLoaiNha"
        cbxLoaiNha.DisplayMember = "strTenLoaiNha"

        Dim danhsachquan As New List(Of QuanDTO)
        danhsachquan = QuanBUS.GetAll()
        cbxTenQuan.DataSource = danhsachquan
        cbxTenQuan.ValueMember = "iMaQuan"
        cbxTenQuan.DisplayMember = "strTenQuan"

        Dim makhchothue As New List(Of KhachHangChoThueDTO)
        makhchothue = KhachHangChoThueBUS.GetAll()
        cbxMaChuNha.DataSource = makhchothue
        cbxMaChuNha.ValueMember = "iMaKhachHangChoThue"
    End Sub

    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        If Not txtSoNha.Text = "" Then
            If Not txtTenDuong.Text = "" Then
                If Not txtDienTich.Text = "" Then
                    If Not txtGia.Text = "" Then
                        If Not txtTieuDe.Text = "" Then
                            If (CheckBoxX1.Checked = True Or CheckBoxX2.Checked = True) Then
                                Dim sqlparameters(9) As SqlParameter


                                Dim qlNha As ThongTinNhaDTO = New ThongTinNhaDTO()
                                qlNha.strSoNha = txtSoNha.Text
                                qlNha.strTenDuong = txtTenDuong.Text
                                qlNha.iDienTich = txtDienTich.Text
                                qlNha.iGia = txtGia.Text


                                If CheckBoxX1.Checked = True Then
                                    qlNha.strTinhTrang = "Còn Trống"

                                ElseIf CheckBoxX2.Checked = True Then

                                    qlNha.strTinhTrang = " Đã Thuê"

                                End If


                                qlNha.iMaQuan = cbxTenQuan.SelectedValue
                                qlNha.iMaKhachHangChoThue = cbxMaChuNha.SelectedValue
                                qlNha.strTieuDe = txtTieuDe.Text
                                qlNha.dtNgayDang = dtiNgayDang.Value
                                qlNha.iMaLoaiNha = cbxLoaiNha.SelectedValue




                                Dim para0 As New SqlParameter("sonha", SqlDbType.VarChar)
                                para0.Direction = ParameterDirection.Input
                                para0.Value = qlNha.strSoNha
                                sqlparameters(0) = para0

                                Dim para1 As New SqlParameter("tenduong", SqlDbType.NVarChar)
                                para1.Direction = ParameterDirection.Input
                                para1.Value = qlNha.strTenDuong
                                sqlparameters(1) = para1

                                Dim para2 As New SqlParameter("dientich", SqlDbType.Int)
                                para2.Direction = ParameterDirection.Input
                                para2.Value = qlNha.iDienTich
                                sqlparameters(2) = para2

                                Dim para3 As New SqlParameter("gia", SqlDbType.Money)
                                para3.Direction = ParameterDirection.Input
                                para3.Value = qlNha.iGia
                                sqlparameters(3) = para3

                                Dim para4 As New SqlParameter("tinhtrang", SqlDbType.NVarChar)
                                para4.Direction = ParameterDirection.Input
                                para4.Value = qlNha.strTinhTrang
                                sqlparameters(4) = para4

                                Dim para5 As New SqlParameter("maquan", SqlDbType.Int)
                                para5.Direction = ParameterDirection.Input
                                para5.Value = qlNha.iMaQuan
                                sqlparameters(5) = para5

                                Dim para6 As New SqlParameter("makhchothue", SqlDbType.Int)
                                para6.Direction = ParameterDirection.Input
                                para6.Value = qlNha.iMaKhachHangChoThue
                                sqlparameters(6) = para6

                                Dim para7 As New SqlParameter("tieude", SqlDbType.NVarChar)
                                para7.Direction = ParameterDirection.Input
                                para7.Value = qlNha.strTieuDe
                                sqlparameters(7) = para7

                                Dim para8 As New SqlParameter("ngaydang", SqlDbType.Date)
                                para8.Direction = ParameterDirection.Input
                                para8.Value = qlNha.dtNgayDang
                                sqlparameters(8) = para8

                                Dim para9 As New SqlParameter("maloainha", SqlDbType.Int)
                                para9.Direction = ParameterDirection.Input
                                para9.Value = qlNha.iMaLoaiNha
                                sqlparameters(9) = para9

                                ThongTinNhaBUS.Insert(sqlparameters)

                                MessageBox.Show("Thêm Thành Công!!!")



                                Dim listDanhSachNha As New DataTable

                                listDanhSachNha = ThongTinNhaBUS.GetAll()
                                DataGridViewX1.DataSource = listDanhSachNha
                            Else
                                MsgBox("Bạn chưa chọn tình trạng  ", MsgBoxStyle.Critical, "Thông báo!")

                            End If


                        Else

                            MsgBox("Bạn chưa nhập vào tiêu đề  ", MsgBoxStyle.Critical, "Thông báo!")

                            txtTieuDe.Text = Focus()
                        End If
                    Else
                        MsgBox("Bạn chưa nhập vào mức giá  ", MsgBoxStyle.Critical, "Thông báo!")

                        txtGia.Text = Focus()
                    End If
                Else
                    MsgBox("Bạn chưa nhập vào diện tích  ", MsgBoxStyle.Critical, "Thông báo!")

                    txtDienTich.Text = Focus()
                End If
            Else
                MsgBox("Bạn chưa nhập vào tên đường  ", MsgBoxStyle.Critical, "Thông báo!")

                txtTenDuong.Text = Focus()
            End If


        Else
            MsgBox("Bạn chưa nhập vào số nhà ", MsgBoxStyle.Critical, "Thông báo!")
            txtSoNha.Focus()

        End If
    End Sub



    Private Sub CheckBoxX1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxX1.CheckedChanged
        If CheckBoxX1.Checked = True Then
            CheckBoxX2.Checked = False
        End If
    End Sub

    Private Sub CheckBoxX2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxX2.CheckedChanged
        If CheckBoxX2.Checked = True Then
            CheckBoxX1.Checked = False
        End If
    End Sub

    Private Sub btnSua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSua.Click
        If Not txtSoNha.Text = "" Then
            If Not txtTenDuong.Text = "" Then
                If Not txtDienTich.Text = "" Then
                    If Not txtGia.Text = "" Then
                        If Not txtTieuDe.Text = "" Then
                            If (CheckBoxX1.Checked = True Or CheckBoxX2.Checked = True) Then
                                Dim sqlparameters(10) As SqlParameter


                                Dim qlNha As ThongTinNhaDTO = New ThongTinNhaDTO()
                                qlNha.iMaNha = DataGridViewX1.CurrentRow.Cells("MaNha").Value
                                qlNha.strSoNha = txtSoNha.Text
                                qlNha.strTenDuong = txtTenDuong.Text
                                qlNha.iDienTich = txtDienTich.Text
                                qlNha.iGia = txtGia.Text


                                If CheckBoxX1.Checked = True Then
                                    qlNha.strTinhTrang = "Còn Trống"

                                ElseIf CheckBoxX2.Checked = True Then

                                    qlNha.strTinhTrang = " Đã Thuê"

                                End If


                                qlNha.iMaQuan = cbxTenQuan.SelectedValue
                                qlNha.iMaKhachHangChoThue = cbxMaChuNha.SelectedValue
                                qlNha.strTieuDe = txtTieuDe.Text
                                qlNha.dtNgayDang = dtiNgayDang.Value
                                qlNha.iMaLoaiNha = cbxLoaiNha.SelectedValue



                                Dim para0 As New SqlParameter("manha", SqlDbType.Int)
                                para0.Direction = ParameterDirection.Input
                                para0.Value = qlNha.iMaNha
                                sqlparameters(0) = para0

                                Dim para1 As New SqlParameter("sonha", SqlDbType.VarChar)
                                para1.Direction = ParameterDirection.Input
                                para1.Value = qlNha.strSoNha
                                sqlparameters(1) = para1

                                Dim para2 As New SqlParameter("tenduong", SqlDbType.NVarChar)
                                para2.Direction = ParameterDirection.Input
                                para2.Value = qlNha.strTenDuong
                                sqlparameters(2) = para2

                                Dim para3 As New SqlParameter("dientich", SqlDbType.Int)
                                para3.Direction = ParameterDirection.Input
                                para3.Value = qlNha.iDienTich
                                sqlparameters(3) = para3

                                Dim para4 As New SqlParameter("gia", SqlDbType.Money)
                                para4.Direction = ParameterDirection.Input
                                para4.Value = qlNha.iGia
                                sqlparameters(4) = para4

                                Dim para5 As New SqlParameter("tinhtrang", SqlDbType.NVarChar)
                                para5.Direction = ParameterDirection.Input
                                para5.Value = qlNha.strTinhTrang
                                sqlparameters(5) = para5

                                Dim para6 As New SqlParameter("maquan", SqlDbType.Int)
                                para6.Direction = ParameterDirection.Input
                                para6.Value = qlNha.iMaQuan
                                sqlparameters(6) = para6

                                Dim para7 As New SqlParameter("makhachhangchothue", SqlDbType.Int)
                                para7.Direction = ParameterDirection.Input
                                para7.Value = qlNha.iMaKhachHangChoThue
                                sqlparameters(7) = para7

                                Dim para8 As New SqlParameter("tieude", SqlDbType.NVarChar)
                                para8.Direction = ParameterDirection.Input
                                para8.Value = qlNha.strTieuDe
                                sqlparameters(8) = para8

                                Dim para9 As New SqlParameter("ngaydang", SqlDbType.Date)
                                para9.Direction = ParameterDirection.Input
                                para9.Value = qlNha.dtNgayDang
                                sqlparameters(9) = para9

                                Dim para10 As New SqlParameter("maloainha", SqlDbType.Int)
                                para10.Direction = ParameterDirection.Input
                                para10.Value = qlNha.iMaLoaiNha
                                sqlparameters(10) = para10

                                ThongTinNhaBUS.Update(sqlparameters)

                                MessageBox.Show("Sửa Thành CÔng!!!")



                                Dim listDanhSachNha As New DataTable

                                listDanhSachNha = ThongTinNhaBUS.GetAll()
                                DataGridViewX1.DataSource = listDanhSachNha
                            Else
                                MsgBox("Bạn chưa chọn tình trạng  ", MsgBoxStyle.Critical, "Thông báo!")

                            End If


                        Else

                            MsgBox("Bạn chưa nhập vào tiêu đề  ", MsgBoxStyle.Critical, "Thông báo!")

                            txtTieuDe.Text = Focus()
                        End If
                    Else
                        MsgBox("Bạn chưa nhập vào mức giá  ", MsgBoxStyle.Critical, "Thông báo!")

                        txtGia.Text = Focus()
                    End If
                Else
                    MsgBox("Bạn chưa nhập vào diện tích  ", MsgBoxStyle.Critical, "Thông báo!")

                    txtDienTich.Text = Focus()
                End If
            Else
                MsgBox("Bạn chưa nhập vào tên đường  ", MsgBoxStyle.Critical, "Thông báo!")

                txtTenDuong.Text = Focus()
            End If


        Else
            MsgBox("Bạn chưa nhập vào số nhà ", MsgBoxStyle.Critical, "Thông báo!")
            txtSoNha.Focus()

        End If
    End Sub

    Private Sub btnXoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoa.Click
        Dim nha As ThongTinNhaDTO = New ThongTinNhaDTO()


        nha.iMaNha = DataGridViewX1.CurrentRow.Cells("MaNha").Value


        Dim para1 As New SqlParameter("manha", SqlDbType.VarChar)
        para1.Direction = ParameterDirection.Input
        para1.Value = nha.iMaNha


        ThongTinNhaBUS.Delete(para1)
        MessageBox.Show("Chúc Mừng Bạn Đã Xóa Thành Công!!!")

        Dim listDanhSachNha As New DataTable()

        listDanhSachNha = ThongTinNhaBUS.GetAll()
        DataGridViewX1.DataSource = listDanhSachNha

    End Sub

    Private Sub DataGridViewX1_SelectionChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridViewX1.SelectionChanged
        txtSoNha.Text = DataGridViewX1.CurrentRow.Cells("sonha").Value
        txtTenDuong.Text = DataGridViewX1.CurrentRow.Cells("tenduong").Value
        txtDienTich.Text = DataGridViewX1.CurrentRow.Cells("dientich").Value
        txtGia.Text = String.Format("{0:0,0}", DataGridViewX1.CurrentRow.Cells("Gia").Value)
        cbxMaChuNha.Text = DataGridViewX1.CurrentRow.Cells("machunha").Value
        cbxTenQuan.Text = DataGridViewX1.CurrentRow.Cells("TenQuan").Value
        txtTieuDe.Text = DataGridViewX1.CurrentRow.Cells("tieude").Value
        dtiNgayDang.Text = DataGridViewX1.CurrentRow.Cells("ngaydang").Value
        cbxLoaiNha.Text = DataGridViewX1.CurrentRow.Cells("LoaiNha").Value
    End Sub


    Private Sub DataGridViewX1_CellFormatting_1(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridViewX1.CellFormatting
        If DataGridViewX1.Columns(e.ColumnIndex).Name = "gia" Then
            e.CellStyle.Format = "#,##"
        End If
    End Sub
End Class